﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Collections.ObjectModel;


namespace produccion.modelo
{
    public class MprocesoProduccion : ObservableObject
    {
        
        #region modelo

        private DataTable _dtPP = new DataTable();
        public DataTable dtPP
        {
            get { return _dtPP; }
            set
            {
                _dtPP = value;
                RaisePropertyChangedEvent("dtPP");
            }
        }

        private string _strCodigo;
        public string strCodigo
        {
            get { return _strCodigo; }
            set
            {
                _strCodigo = value;
                RaisePropertyChangedEvent("strCodigo");
            }

        }

        private string _strNombre;
        public string strNombre
        {
            get { return _strNombre; }
            set
            {
                _strNombre = value;
                RaisePropertyChangedEvent("strNombre");
            }

        }

        private string _strEstado = "A";
        public string strEstado
        {
            get { return _strEstado; }
            set
            {
                _strEstado = value;
                RaisePropertyChangedEvent("strEstado");
            }

        }

        private string _strAceptaDevolucion = "N";
        public string strAceptaDevolucion
        {
            get { return _strAceptaDevolucion; }
            set
            {
                _strAceptaDevolucion = value;
                RaisePropertyChangedEvent("strAceptaDevolucion");
            }

        }

        private string _strAsignado = "S";
        public string strAsignado
        {
            get { return _strAsignado; }
            set
            {
                _strAsignado = value;
                RaisePropertyChangedEvent("strAsignado");
            }
        }

        private double _numValor;
        public double numValor
        {
            get { return _numValor; }
            set
            {
                _numValor = value;
                RaisePropertyChangedEvent("numValor");
            }
        }

        private int _numSelPP;
        public int numSelPP
        {
            get { return _numSelPP; }
            set
            {
                _numSelPP = value;
                if (_numSelPP != -1)
                {
                    //strCodigo = dtPP.Rows[_numSelPP]["CODIGO"].ToString();
                    strNombre = dtPP.Rows[_numSelPP]["NOMBRE"].ToString();
                    numValor = Convert.ToDouble(dtPP.Rows[_numSelPP]["VALOR"]);
                    strEstado = dtPP.Rows[_numSelPP]["ESTADO"].ToString();
                    strAsignado = dtPP.Rows[_numSelPP]["PREASIGNADO"].ToString();
                }
                RaisePropertyChangedEvent("numSelPP");
            }
        }

        private ObservableCollection<procesoExcluido> _obsProcesosE = new ObservableCollection<procesoExcluido>();
        public ObservableCollection<procesoExcluido> obsProcesosE {
            get { return _obsProcesosE; }
            set { _obsProcesosE = value;RaisePropertyChangedEvent("obsProcesosE");
            }        
        }

        #endregion

        public class procesoExcluido:ObservableObject 
        {
            private string _strCodigo;
            public string strCodigo
            {
                get { return _strCodigo; }
                set
                {
                    _strCodigo = value;
                    RaisePropertyChangedEvent("strCodigo");
                }

            }

            private string _strNombre;
            public string strNombre
            {
                get { return _strNombre; }
                set
                {
                    _strNombre = value;
                    RaisePropertyChangedEvent("strNombre");
                }

            }

            private string _strExcluido;
            public string strExcluido
            {
                get { return _strExcluido; }
                set
                {
                    _strExcluido = value;
                    logCambio = true;
                    RaisePropertyChangedEvent("strExcluido");
                }
            }

            public static Boolean logCambio=false;
        
        }

        private MDOgeneral.mensaje _msn = new MDOgeneral.mensaje();
        public MDOgeneral.mensaje msn {
            get { return _msn; }
            set { _msn = value;
            RaisePropertyChangedEvent("msn");
            }
        }




    }
}
